package com.cnpc.rightslogan;

import com.cnpc.rightslogan.utils.http.HttpServletRequestReplacedFilter;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.context.annotation.Bean;
import tk.mybatis.spring.annotation.MapperScan;

@MapperScan("com.cnpc.rightslogan.mapper")
@SpringBootApplication
@EnableDiscoveryClient
public class DictionaryApplication {

    public static void main(String[] args) {
        SpringApplication.run(DictionaryApplication.class, args);
    }

    /**
     * 用于前台往后台传两个及多个对象时过滤数据
     * 提交了两个对象  第一个对象过来了  request接收到了   然后就关闭流了  第二个过不来报错了
     * 但是通过这个过滤器接受到第二个对象了,第一个对象就被刷新了,没了,如果只有第一个对象,第二对象是空的话,会以第一个为主
     * 问题主要体现在swagger页面出现两个几多个输入框
     * 以后类似问题,感觉可以有两个办法解决,绕过多次提交的问题
     * 1.后台用map接收
     * 2.后台用string接收
     * 然后再转对象
     *
     * @return
     */
    @Bean
    public FilterRegistrationBean httpServletRequestReplacedRegistration() {
        FilterRegistrationBean registration = new FilterRegistrationBean();
        registration.setFilter(new HttpServletRequestReplacedFilter());
        registration.addUrlPatterns("/*");
        registration.addInitParameter("paramName", "paramValue");
        registration.setName("httpServletRequestReplacedFilter");
        registration.setOrder(1);
        return registration;
    }
}
